home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 140
/
Gekkan Dennou Club - 2000.1 Vol. 140 (Japan).7z
/
Gekkan Dennou Club - 2000.1 Vol. 140 (Japan) (Track 1).bin
/
tools
/
has060
/
hassrc87.lzh
/
symbol.equ
< prev
next >
Wrap
Text File
|
1999-03-03
|
4KB
|
129 lines
.nlist
;----------------------------------------------------------------
; X68k High-speed Assembler
; シンボル構造定義
; < symbol.equ >
;
; $Id: symbol.equ,v 1.5 1999 3/ 3(Wed) 14:36:30 M.Kamada Exp $
;
; Copyright 1990-94 by Y.Nakamura
; 1999 by M.Kamada
;----------------------------------------------------------------
;----------------------------------------------------------------
; シンボルテーブルタイプ
;----------------------------------------------------------------
;----------------------------------------------------------------
; シンボルハッシュ
ST_VALUE equ 0 ;数値シンボル
ST_LOCAL equ 1 ;ローカルラベル
ST_REAL equ 2 ;浮動小数点実数シンボル
ST_REGSYM equ 3 ;regシンボル
ST_REGISTER equ -1 ;レジスタ名
;----------------------------------------------------------------
; 命令ハッシュ
ST_MACRO equ 4 ;マクロ
ST_OPCODE equ -2 ;命令名
;----------------------------------------------------------------
; シンボルテーブル構造
;----------------------------------------------------------------
;----------------------------------------------------------------
; 共通部
.offset 0
SYM_NEXT: .ds.l 1 ;$00 同じハッシュ値を持つ次のシンボルへのポインタ
SYM_NAME: ;$04 シンボル名へのポインタ
SYM_LOCALNO: .ds.l 1 ;$04 (ローカルラベルならラベル番号)
SYM_TYPE: .ds.b 1 ;$08 シンボルのタイプ
SYM_BEGIN: ;$09
;----------------------------------------------------------------
; 数値シンボル,ローカルラベル (ST_VALUE,ST_LOCAL)
.offset SYM_BEGIN
SYM_OPTCOUNT: .ds.b 1 ;$09 最適化回数カウント
SYM_ATTRIB: .ds.b 1 ;$0A 定義属性
SYM_EXTATR: .ds.b 1 ;$0B 外部定義属性
SYM_SECTION: .ds.b 1 ;$0C セクション
SYM_ORGNUM: .ds.b 1 ;$0D アドレスシンボルのorgセクション番号
SYM_FIRST: .ds.b 1 ;$0E 最初に定義した方法(ST_VALUEのみ)
; -1=set,0=その他,1=offsym
.ds.b 1 ;$0F
SYM_VALUE: .ds.l 1 ;$10 シンボルの持つ値
SYM_TBLLEN: ;$14
;----------------------------------------------------------------
; 浮動小数点実数シンボル (ST_REAL)
.offset SYM_BEGIN
SYM_FSIZE: .ds.b 1 ;$09 シンボルのサイズ(SZ_SINGLE/SZ_DOUBLE/SZ_EXTEND/SZ_PACKED)
.ds.w 1 ;$0A
SYM_FVPTR: .ds.l 1 ;$0C シンボル値へのポインタ
;$10
;----------------------------------------------------------------
; regシンボル (ST_REGSYM)
.offset SYM_BEGIN
.even ;$09
SYM_DEFLEN: .ds.w 1 ;$0A 定義内容の長さ(ワード数-1)
SYM_DEFINE: .ds.l 1 ;$0C 定義内容へのポインタ
;$10
;----------------------------------------------------------------
; レジスタ名 (ST_REGISTER)
.offset SYM_BEGIN
.even ;$09
SYM_ARCH: .ds.b 1 ;$0A CPUタイプ
SYM_ARCH2: .ds.b 1 ;$0B ColdFire用のCPUタイプ
SYM_REGNO: .ds.b 1 ;$0C レジスタ番号
;$0D
;----------------------------------------------------------------
; マクロ (ST_MACRO)
.offset SYM_BEGIN
.even ;$09
SYM_MACLOCS: .ds.w 1 ;$0A 使用されるローカルシンボル数
.ds.l 1 ;$0C (SYM_DEFINE)定義内容へのポインタ
;$10
;----------------------------------------------------------------
; 命令名 (ST_OPCODE)
.offset SYM_BEGIN
SYM_NOOPR .ds.b 1 ;$09 オペランドを持つ命令か
.ds.b 1 ;$0A CPUタイプ(SYM_ARCH) $00なら疑似命令
.ds.b 1 ;$0B ColdFire用のCPUタイプ
; SYM_ARCHはワードサイズで$0000なら疑似命令
SYM_SIZE: .ds.b 1 ;$0C 命令の使用可能なサイズ
SYM_SIZE2: .ds.b 1 ;$0D ColdFire用のサイズ
SYM_OPCODE: .ds.w 1 ;$0E 命令コード基本パターン
SYM_FUNC: .ds.l 1 ;$10 処理ルーチンへのポインタ
;$14
;----------------------------------------------------------------
; $Log: symbol.equ,v $
; Revision 1.5 1999 3/ 3(Wed) 14:36:30 M.Kamada
; +82 SYM_VALUEをSYM_FIRSTの後ろに移動してロングワード境界に
; +82 SYM_FVPTRをロングワード境界に
;
; Revision 1.4 1999 2/27(Sat) 23:45:17 M.Kamada
; +81 ソースリストのフォーマットを変更(実行ファイルは+80とまったく同じ)
;
; Revision 1.3 1999 2/25(Thu) 04:35:44 M.Kamada
; +80 ColdFire対応
; +80 .offsym <初期値>,<シンボル>
; +80 setでset以外で定義されたシンボルの上書き禁止
;
; Revision 1.2 1994/07/10 12:45:50 nakamura
; オペランドなし命令への対応を変更した
;
; Revision 1.1 1994/02/06 05:36:20 nakamura
; Initial revision
;
;
.text
.list